home *** CD-ROM | disk | FTP | other *** search
- /****************************************************************************/
- /* HEADER FILE FOR DATABOSS MODULE: DB_KEY */
- /****************************************************************************/
-
- /********************************* TYPES **********************************/
-
- typedef enum {BasicChrs,IBMGraphics,AllChrs} prtmode;
- typedef enum {NoB,LeftB,RightB,BothB,CenterB,CLeftB,CRightB,AllB} mouseb;
-
- typedef struct {
- uchar ch;
- bool _xkey;
- } mkey;
-
- typedef void (*background)(void);
- typedef uchar (*casemapfun)(uchar inch);
-
- typedef struct {
- word date_format;
- uchar currency_chars[5];
- uchar thou_sep[2];
- uchar dec_sep[2];
- uchar date_sep[2];
- uchar time_sep[2];
- byte currency_format;
- byte sig_digits;
- byte time_format;
- ptr case_map;
- uchar datalist_sep[2];
- word reserved[5];
- } cditype;
-
- typedef bool (*kpressfunc)(void);
- typedef uchar (*getkeyfunc)(void);
-
- /******************************* CONSTANTS ********************************/
-
- /* Special keys */
-
- #define MouseCV 13
- #define MouseCH 40
-
- #define Nul 0
- #define Space 32
- #define BackSp 8
- #define Tab 9
- #define Enter 13
- #define Esc 27
- #define STab 143
-
- /*********************************************
- * [DG] 09/11/92 -- Added CtrlEnter keycode *
- *********************************************/
- #define CtrlEnter 10
-
- /* Numpad keys */
-
- #define PgUp 201
- #define PgDn 209
- #define EndKey 207
- #define Home 199
- #define Ins 210
- #define Del 211
- #define CtrlPrtsc 242
- #define LArr 203
- #define RArr 205
- #define UArr 200
- #define DArr 208
- #define CtrlLArr 243
- #define CtrlRArr 244
- #define CtrlPgUp 132
- #define CtrlPgDn 246
- #define CtrlHome 247
- #define CtrlEnd 245
-
- /* Function keys */
-
- #define F1 187
- #define F2 188
- #define F3 189
- #define F4 190
- #define F5 191
- #define F6 192
- #define F7 193
- #define F8 194
- #define F9 195
- #define F10 196
- #define F11 133
- #define F12 134
-
- /* Shifted function keys */
-
- #define sF1 212
- #define sF2 213
- #define sF3 214
- #define sF4 215
- #define sF5 216
- #define sF6 217
- #define sF7 218
- #define sF8 219
- #define sF9 220
- #define sF10 221
- #define sF11 135
- #define sF12 136
-
- /* Control function keys */
-
- #define cF1 222
- #define cF2 223
- #define cF3 224
- #define cF4 225
- #define cF5 226
- #define cF6 227
- #define cF7 228
- #define cF8 229
- #define cF9 230
- #define cF10 231
- #define cF11 137
- #define cF12 138
-
- /* Alt function keys */
-
- #define aF1 232
- #define aF2 233
- #define aF3 234
- #define aF4 235
- #define aF5 236
- #define aF6 237
- #define aF7 238
- #define aF8 239
- #define aF9 240
- #define aF10 241
- #define aF11 139
- #define aF12 140
-
- /* Control keys */
-
- #define CtrlA 1
- #define CtrlB 2
- #define CtrlC 3
- #define CtrlD 4
- #define CtrlE 5
- #define CtrlF 6
- #define CtrlG 7
- #define CtrlH 8
- #define CtrlI 9
- #define CtrlJ 10
- #define CtrlK 11
- #define CtrlL 12
- #define CtrlM 13
- #define CtrlN 14
- #define CtrlO 15
- #define CtrlP 16
- #define CtrlQ 17
- #define CtrlR 18
- #define CtrlS 19
- #define CtrlT 20
- #define CtrlU 21
- #define CtrlV 22
- #define CtrlW 23
- #define CtrlX 24
- #define CtrlY 25
- #define CtrlZ 26
-
- /* Alt keys */
-
- #define AltA 158
- #define AltB 176
- #define AltC 174
- #define AltD 160
- #define AltE 146
- #define AltF 161
- #define AltG 162
- #define AltH 163
- #define AltI 151
- #define AltJ 164
- #define AltK 165
- #define AltL 166
- #define AltM 178
- #define AltN 177
- #define AltO 152
- #define AltP 153
- #define AltQ 144
- #define AltR 147
- #define AltS 159
- #define AltT 148
- #define AltU 150
- #define AltV 175
- #define AltW 145
- #define AltX 173
- #define AltY 149
- #define AltZ 172
- #define Alt1 248
- #define Alt2 249
- #define Alt3 250
- #define Alt4 251
- #define Alt5 252
- #define Alt6 253
- #define Alt7 254
- #define Alt8 255
- #define Alt9 128
- #define Alt0 129
- #define AltMinus 130
- #define AltEquals 131
-
- /* Mouse Keys */
-
- extern const mkey MLeftB; /* = {Enter, False */
- extern const mkey MRightB; /* = {Esc, False */
- extern const mkey MBothB; /* = {F1, True} */
- extern const mkey MCenterB; /* = {F1, True} */
- extern const mkey MCLeftB; /* = {F1, True} */
- extern const mkey MCRightB; /* = {F1, True} */
- extern const mkey MAllB; /* = {F1, True} */
- extern const mkey MUp; /* = {UArr, True} */
- extern const mkey MDown; /* = {DArr, True} */
- extern const mkey MLeft; /* = {LArr, True} */
- extern const mkey MRight; /* = {RArr, True} */
-
- /* Keyboard status bit masks */
-
- #define RShiftKey 0x01
- #define LShiftKey 0x02
- #define CtrlKey 0x04
- #define AltKey 0x08
- #define ScrollLock 0x10
- #define NumLock 0x20
- #define CapsLock 0x40
-
- #define LCtrlKey 0x01
- #define LAltKey 0x02
- #define RCtrlKey 0x04
- #define RAltKey 0x08
- #define SysReq 0x80
-
- /* Character translate tables */
-
- extern uchar Uxlate[];
- /*
- #00,#01,#02,#03,#04,#05,#06,#07,#08,#09,#10,#11,#12,#13,#14,#15,
- #16,#17,#18,#19,#20,#21,#22,#23,#24,#25,#26,#27,#28,#29,#30,#31,
- ' ','!','"','#','$','%','&',#39,'(',')','*','+',',','-','.','/',
- '0','1','2','3','4','5','6','7','8','9',':',';','<','=','>','?',
- '@','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O',
- 'P','Q','R','S','T','U','V','W','X','Y','Z','[','\',']','^','_',
- '`','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O',
- 'P','Q','R','S','T','U','V','W','X','Y','Z','{','|','}','~',#127,
- 'Ä','ö','ê','É','é','Ö','è','Ä','à','â','ä','ã','å','ç','é','è',
- 'ê','í','í','ì','ô','ï','ñ','ó','ò','ô','ö','õ','ú','ù','û','ü',
- '†','°','¢','£','•','•','¶','ß','®','©','™','´','¨','≠','Æ','Ø',
- '∞','±','≤','≥','¥','µ','∂','∑','∏','π','∫','ª','º','Ω','æ','ø',
- '¿','¡','¬','√','ƒ','≈','Δ','«','»','…',' ','À','Ã','Õ','Œ','œ',
- '–','—','“','”','‘','’','÷','◊','ÿ','Ÿ','⁄','€','‹','›','fi','fl',
- '‡','·','‚','„','‰','Â','Ê','Á','Ë','È','Í','Î','Ï','Ì','Ó','Ô',
- '','Ò','Ú','Û','Ù','ı','ˆ','˜','¯','˘','˙','˚','¸','˝','˛',#255
- */
- extern uchar Lxlate[];
- /*
- #00,#01,#02,#03,#04,#05,#06,#07,#08,#09,#10,#11,#12,#13,#14,#15,
- #16,#17,#18,#19,#20,#21,#22,#23,#24,#25,#26,#27,#28,#29,#30,#31,
- ' ','!','"','#','$','%','&',#39,'(',')','*','+',',','-','.','/',
- '0','1','2','3','4','5','6','7','8','9',':',';','<','=','>','?',
- '@','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o',
- 'p','q','r','s','t','u','v','w','x','y','z','[','\',']','^','_',
- '`','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o',
- 'p','q','r','s','t','u','v','w','x','y','z','{','|','}','~',#127,
- 'á','Å','Ç','É','Ñ','Ö','Ü','á','à','â','ä','ã','å','ç','Ñ','Ü',
- 'Ç','ë','ë','ì','î','ï','ñ','ó','ò','î','Å','õ','ú','ù','û','ü',
- '†','°','¢','£','§','§','¶','ß','®','©','™','´','¨','≠','Æ','Ø',
- '∞','±','≤','≥','¥','µ','∂','∑','∏','π','∫','ª','º','Ω','æ','ø',
- '¿','¡','¬','√','ƒ','≈','Δ','«','»','…',' ','À','Ã','Õ','Œ','œ',
- '–','—','“','”','‘','’','÷','◊','ÿ','Ÿ','⁄','€','‹','›','fi','fl',
- '‡','·','‚','„','‰','Â','Ê','Á','Ë','È','Í','Î','Ï','Ì','Ó','Ô',
- '','Ò','Ú','Û','Ù','ı','ˆ','˜','¯','˘','˙','˚','¸','˝','˛',#255
- */
- extern const uchar IBMGrLines[];
- /* = "≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈Δ«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€‹›fifl" */
- extern const uchar BasicLines[];
- /* = "+++++++\"+++++++++-++++++++=+++++++++++++|-||-" */
-
- /******************************* VARIABLES ********************************/
-
- extern bool ehk;
- extern bool _xkey;
- extern bool _ckey;
- extern bool _akey;
- extern bool mousekey;
- extern bool moused;
- extern background ssave;
- extern bool scrrecurs;
- extern bool resetdeltas;
- extern cditype cdi;
- extern casemapfun casemapupch;
- extern kpressfunc kpressed;
- extern getkeyfunc getkey;
-
- /******************************* PROTOTYPES *******************************/
-
- word getvmode(void);
- bool printer_ok(byte prt);
- bool mouseinstalled(void);
- void setratio(int x, int y);
- void showmouse(void);
- void hidemouse(void);
- void getmouse(mouseb *button, int *column, int *row);
- void mgotoxy(int col, int row);
- void mousehl(int left, int right);
- void mousevl(int top, int bot);
- void mousechar(int ordchar);
- uchar filterch(uchar inch, prtmode pmode);
- strptr filterstr(strptr destination, strptr source, prtmode printMode); /* SN 3.5 */
- uchar upperch(uchar ch);
- strptr upper(strptr sout, strptr strg);
- uchar lowerch(uchar ch);
- strptr lower(strptr sout, strptr strg);
- bool detectk(byte key);
- bool enhdetectk(byte key);
- void setcaplock(bool on);
- void setnumlock(bool on);
- void setscrolllock(bool on);
- strptr keystat(strptr sout, byte mode);
- void kflush(void);
- bool internalkpressed(void);
- uchar internalgetkey(void);
- void delaykey(int time);
-
- void db_key_init(void);
-
- /***************************** END OF DB_KEY.H *****************************/
-